home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / sound / vocpak20.zip / VOCPACK.H < prev    next >
C/C++ Source or Header  |  1993-09-01  |  2KB  |  53 lines

  1. /*
  2.  * Vocpack 2.0 Library  -  (C) 1993 Nicola Ferioli
  3.  *
  4.  * Include file VOCPACK.H
  5.  */
  6.  
  7. #ifndef __VOCPACK_H
  8. #define __VOCPACK_H
  9.  
  10.  
  11. #define VP_OK                   0       /* no error */
  12. #define VP_ERR_NOTVP            1       /* file not compressed with Vocpack */
  13. #define VP_ERR_OLDMETHOD        2       /* compressed with version 1.0 */
  14. #define VP_ERR_UNKMETHOD        3       /* compressed with version > 2.0 */
  15.  
  16. #define VP_EOF                 -1       /* EOF returned by VP_Unpack() */
  17.  
  18. typedef struct {
  19.     unsigned int IsSigned : 1;      /* 0 = unsigned data, 1 = signed */
  20.     unsigned int IsStereo : 1;      /* 0 = mono, 1 = stereo */
  21.     unsigned int Is16Bit  : 1;      /* 0 = 8 bits, 1 = 16 bits */
  22.     unsigned int Align    : 2;      /* 16-bit samples alignment (0..3) */
  23.     unsigned int          : 4;      /* don't care */
  24.  
  25.     char *Name;                     /* file name */
  26.     long UnpackedLen;               /* unpacked length */
  27.  
  28.  } VP_Info;
  29.  
  30.  
  31. void VP_InitPack (VP_Info *Info);
  32. void VP_Pack (int c);
  33. void VP_EndPack (void);
  34.  
  35. int  VP_InitUnpack (VP_Info *Info);
  36. int  VP_Unpack (void);
  37. void VP_EndUnpack (void);
  38.  
  39. int VP_GetInfo (VP_Info *Info);
  40.  
  41.  
  42. /*
  43.  * User supplied I/O functions
  44.  */
  45.  
  46. int  VP_Input (void);                   /* { return getc(In); } */
  47. void VP_Output (int c);                 /* { putc(c, Out); } */
  48. void VP_InputRewind (void);             /* { rewind(In); } */
  49. void VP_OutputSeek (long Offset);       /* { fseek(Out, Offset, SEEK_SET); } */
  50.  
  51.  
  52. #endif
  53.